<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@include file="common.jsp"%>
<%@page import="com.mes.entity.tdd.Staff"%>
<%@ page import="java.util.Date,java.text.SimpleDateFormat" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>采购订单详细</title>
<link rel="stylesheet" href="${pageContext.request.contextPath }/css/bootstrap-editable.css">
<script type="text/javascript" src="${pageContext.request.contextPath }/js/bootstrap-editable.js"></script>
<script src="${pageContext.request.contextPath }/bootstrap-table/dist/extensions/editable/bootstrap-table-editable.js"></script>


<script type="text/javascript">

var pdId="";

var suppers="";

$(function () {
	

    //1.初始化Table
    var oTable = new TableInit();
    oTable.Init();

    //2.初始化Button的点击事件
    var oButtonInit = new ButtonInit();
    oButtonInit.Init();
    
    toastr.options.positionClass = 'toast-top-center';
    
  	 //计划单号
   /*  palnDetailed(); */
    //供应商
    supperAdd()
    
    
    
    $('#productionPlan').change(function () {
    	pdId=$('#productionPlan').val();
    	$('#tb_departments').bootstrapTable('refresh', {
    		url: '${pageContext.request.contextPath }/oderDetailed/list.do?plannumber='+$('#productionPlan').val(),
    	});
    	
    	refresh(); 
    })
    
    //供应商选择
    $('#supper').change(function () {
    	suppers=$('#supper').val();
    	$('#tb_departments').bootstrapTable("removeAll");
    	//计划号
        $('#plan_id').val("");
    	refresh(); 
    });
    
    //确定
    $('#btn_confirm').click(function () {


        $('#tb_departments').bootstrapTable("removeAll");


    	var rows=$('#tb_tableSupper') .bootstrapTable('getAllSelections');
    	var tabs2=$('#tb_table2') .bootstrapTable('getData');
    	
    	if (rows.length==0) {
    		toastr.warning('请选择一行数据');
    		return false;
		}
    	
    	//计划单号
    	var planId=rows[0].plannumber;
    	for (var i = 1; i < rows.length; i++) {
    		planId = planId + "," + rows[i].plannumber
    	}
    	for (var i = 0; i < tabs2.length; i++) {
    		if (tabs2[i].remark1.length==0) {
				
    			toastr.warning('请选择到达日期');
    			return false;
			}
    		var arr = tabs2[i];
    		//计划详情id
    		arr.remark2=tabs2[i].id
			$('#tb_departments').bootstrapTable('append', arr);
    		
			
			
		} 
    	$('#bom').modal("hide");
    	setTimeout(function () {
    		
    		$('#plan_id').val(planId);
    		
    	}, 100);
    	/* supperAdd(); */
    	refresh();
    /* 	 $.ajax({
     		url:'${pageContext.request.contextPath }/oderDetailed/orderDetailedAdd2.do',
     		type:"POST",
     		data:'plan_id='+planId+"&arrTime="+arrTime+"&counts="+counts+"&materieId="+materieId,
     		success:function (data) {
     			var data=eval("("+data+")");
     			
     			if (data.success) {
     				toastr.success("操作成功!");
     				$('#bom').modal("hide");
     				$('#tb_departments').bootstrapTable('refresh');
				} else {
					toastr.info("操作失败!"); 
				}
     			
     			
     		}
     	}); */  
    });
    
    
    
    //保存
    $('#btn_add').click(function () {
    	 
    	var row=$('#tb_table2') .bootstrapTable('getData')
    	//采购订单编号
    	var order_number=$('#order_id').html();
    	//订单日期
    	var order_time=$('#ordertimes').html();
    	//供应商
    	var supper_id=$('#supper').val();
    	//到货时间
    	var arrTime=[];
    	//物料ID
    	var materiel_id=[];
    	//数量
    	var count=[];
    	//采购详情id
    	var plandId=[];
    	//计划号
        var prodId = $('#plan_id').val();
    	for (var j = 0; j < row.length; j++) {
    		arrTime.push(row[j].remark1);
        	materiel_id.push(row[j].materitid);
        	count.push(row[j].plantotal);
        	plandId.push(row[j].remark2);
		}

    	$.ajax({
    		url:'${pageContext.request.contextPath }/oderDetailed/orderDetailedAdd.do',
    		type:"POST",
    		data:'order_number='+order_number+'&order_time='+order_time+"&supper_id="
    		+supper_id+"&arrTime="+arrTime+"&materiel_id="+materiel_id+"&count="+count+"&prodId="+prodId+"&plandId="+plandId,
    		success:function (data) {
    			var result=eval("("+data+")");
    			if (result.success=='1') {
    				$('#tb_departments').bootstrapTable('refresh');
                	toastr.success("修改成功");

                    window.location.href="${pageContext.request.contextPath }/pages/cb/order.jsp"
				} else if (result.success=='2'){
					toastr.error('修改失败!');
				} else if (result.success=='3') {
					toastr.error('重复操作!'); 
				}
    		}
    	});
    });
    
    //按下鼠标
    $('#plan_id').mouseup(function () {
    	//供应商
    	var supper_id=$('#supper').val();
    	$('#tb_tableSupper').bootstrapTable('refresh', {
    		
    		//url: '${pageContext.request.contextPath }/plan/PlanAll2.do',
    		url: '${pageContext.request.contextPath }/others/caiPplanList.do?supplierId='+supper_id,
    	});
    	
    	$('#bom').modal("show");
    	
    });
    
    //选中,加载所有的数据，计划表中
    /* $('#tb_tableSupper').on('check.bs.table', function (e, row,ele) {
    	//供应商
    	var supper_id=$('#supper').val();
    	$('#tb_table2').bootstrapTable('refresh', {
    		//url: '${pageContext.request.contextPath }/oderDetailed/list.do?productNumber='+row.plannumber,
    		url: '${pageContext.request.contextPath }/others/listCaiPlanDetailed.do?planNumber='+"('"+row.plannumber+"')"+'&supplierId='+supper_id,
    	});
    }) */
    
    //关闭
    $('#btn_guanbi').click(function () {
    	$('#bom').modal("hide");
    	//供应商
    	var supper_id=$('#supper').val();
    	$('#tb_table2').bootstrapTable('refresh', {
    		//url: '${pageContext.request.contextPath }/oderDetailed/list.do?plannumber=0',
    		url: '${pageContext.request.contextPath }/others/listCaiPlanDetailed.do?planNumber='+"('0')"+'&supplierId='+supper_id,
    	});
    });

    $("#btn_left").click(function () {
		window.location.href="${pageContext.request.contextPath }/pages/cb/order.jsp"
    });
    $("#btn_jiSuan").click(function () {
    	var planNumber = "(";
    	var rows=$('#tb_tableSupper').bootstrapTable('getAllSelections');
    	if(rows.length < 1){
    		toastr.warning('请选择信息');
    		return;
    	}
    	for (var i = 0; i < rows.length; i++) {
    		if(i == 0){
	    		plannumber = planNumber+ "\'" +rows[i].plannumber+ "\'"
    		}else{
    			plannumber = plannumber+ ","
    			plannumber = plannumber+ "\'"+rows[i].plannumber+"\'"
    		}
    	}
    	plannumber = plannumber+ ")"
    	//供应商
    	var supper_id=$('#supper').val();
    	$('#tb_table2').bootstrapTable('refresh', {
    		//url: '${pageContext.request.contextPath }/oderDetailed/list.do?productNumber='+row.plannumber,
    		url: '${pageContext.request.contextPath }/others/listCaiPlanDetailed.do?planNumber='+plannumber+'&supplierId='+supper_id,
    	});
    });
    
    
    <%
    	//生成单号
	    SimpleDateFormat df=new SimpleDateFormat("yyyyMMddHHmmss");
	    String s= df.format(new Date());
		
	%> 
	
    var jhdh = "cg"+<%=s%>;
    $('#order_id').html(jhdh);
    $('#ordertimes').html(FormatDate());
   
    $('#lrr').html($('#ii').val());
});

function add0(m){return m<10?'0'+m:m }
function FormatDate () {
    var date = new Date();
    return date.getFullYear()+"-"+add0((date.getMonth()+1))+"-"+add0(date.getDate());
}

//加载所有的计划单号
function palnDetailed() {
	//加载所有的计划 
  /*   $.ajax({
    	url:'${pageContext.request.contextPath }/plan/PlanAll.do',
    	type:"POST",
    	dataType:'json',
    	success:function (result) { 
    		
    		for (var i = 0; i < result.length; i++) {
    			$("#productionPlan").append("<option>"+result[i].plannumber+"</option>");
    		}
    	}
    }); */
}

//加载所有的供应商
function supperAdd() {
	
	//加载所有的计划 
    $.ajax({
    	url:'${pageContext.request.contextPath }/PlanDetailed/supperAdd.do',
    	type:"POST",
    	dataType:'json',
    	success:function (result) { 
    		
    		for (var i = 0; i < result.length; i++) {
    			$("#supper").append("<option value="+result[i].supplierid+">"+result[i].suppliername+"</option>");
    		}
    	}
    });
	
}

//更新数据
function refresh() {
	/* window.setTimeout(function(){ palnDetailed();supperAdd();},1000); */ 
	
	window.setTimeout(function(){
		
		 $("#productionPlan").find("option:contains('"+pdId+"')").attr("selected",true);
		 $("#supper option[value='"+suppers+"']").attr("selected","selected");
	},1302);
}


var TableInit = function () {
    var oTableInit = new Object();
    //初始化Table
    oTableInit.Init = function () {
        $('#tb_departments').bootstrapTable({
        	//url: '${pageContext.request.contextPath }/oderDetailed/list2.do',
        	method: 'get',                      //请求方式（*）
            toolbar: '#toolbars',                //工具按钮用哪个容器
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）

            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: oTableInit.queryParams,//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: true,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
           // height: 580,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false, 
            queryParams: function queryParams(params) {   //设置查询参数  
                var param = {    
                		limit: params.limit,   //页面大小
                        offset: params.offset,  //页码  
                        plannumber:$('#plan_id').val(),
                };    
                return param;                   
              },
            columns: [[{
                    	title:'采购订单号'
                       },{
                    	   title:'<div id="order_id"></div>'
                       },{
                    	   title:'订单日期'
                       },{
                    	   title:'<div id="ordertimes"></div>',
                    	   colspan:2
                       },{
                    	   title:'制单人'
                       },{
                    	   title:'<div id="lrr"></div>',
                       }],[{
                    	   
                    	   title:'供应商'
                       },{
                    	   title:'<select class="form-control" id="supper"></select>'
                       },{
                    	   title:'采购计划号'
                       },{
                    	   title:'<input class="form-control" type="text" id="plan_id" onfocus=this.blur()>',
						/*  title:'<select class="form-control" id="productionPlan"></select>', */
                    	   colspan:4
                       /* },{
                    	   title:'审批人'
                       },{
                    	   title:'采购经理,厂长或副总经理,总经理', */
                       }],[{
           /*      field: 'remark2',
                title: '计划详情id',
                visible: false
            },{ */
                title: '车种',
                field: 'materiel.remark2',
            }, {
                field: 'materiel.name',
                title: '物料名称'
            }, {
                field: 'materiel.materialmodel',
                title: '物料型号'
            },{
                field: 'plantotal',
                title: '订单数量',
                editable:{
                    type:'text',
                    validate:function(v){
                        var re = /^[1-9]\d*$/;
                        if (!v || isNaN(v) || !re.test(v)) return '必须是大于0的正整数';
                    }
               } 
            },{
            	field: 'materiel.remark3',
                title: '单价'
            },{
                title: '金额',
                formatter:function(index,row) {
                	var totals=row.materiel.remark3*row.plantotal;
                	return totals;
                }
            },{
            	field: 'remark1',
                title: '到货日期',
                editable:{
                	type:'date',
                    placement: 'left'
                }
            }]],
            onEditableSave: function (field, row, oldValue, $el) {
                var index = $el.parent().data('index');
                $('#tb_departments').bootstrapTable('updateRow', {
                    index: index,
                    row:row
                });
            }
        });
        
  		$('#tb_tableSupper').bootstrapTable({
            method: 'get',                      //请求方式（*）
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            toolbar: '#toolbar1',                //工具按钮用哪个容器
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 5,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            singleSelect : false, // 单选checkbox 
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 339,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            queryParams: function queryParams(params) {   //设置查询参数  
                var param = {   
                		pageSize: params.limit,   //页面大小
                        page: params.offset/params.limit+1,  //页码
                		//limit: params.limit,   //页面大小
                        //offset: params.offset,  //页码 
                        remark14:0
                };    
                return param;                   
              },
            columns: [{
            	checkbox: true
            },{
                field: 'plannumber',
                title: '计划单号',
            }, {
            	field:'datetime',
                title: '计划日期',
            }]
        })
        
        
           $('#tb_table2').bootstrapTable({
        	
            method: 'get',                      //请求方式（*）
            striped: true,                      //是否显示行间隔色
            cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination:false,                   //是否显示分页（*）
            sortable: false,                     //是否启用排序
            sortOrder: "asc",                   //排序方式
            queryParams: function queryParams(params) {   //设置查询参数  
               var param = {   
               		pageSize: params.limit,   //页面大小
                       page: params.offset/params.limit+1,  //页码
               		//limit: params.limit,   //页面大小
                       //offset: params.offset,  //页码 
                       remark14:0
               };    
               return param;                   
             },//传递参数（*）
            sidePagination: "server",           //分页方式：client客户端分页，server服务端分页（*）
            pageNumber:1,                       //初始化加载第一页，默认第一页
            pageSize: 10,                       //每页的记录行数（*）
            pageList: [10, 20, 30],        //可供选择的每页的行数（*）
            search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: false,
            showColumns: false,                  //是否显示所有的列
            showRefresh: false,                  //是否显示刷新按钮
            minimumCountColumns: 2,             //最少允许的列数
            clickToSelect: true,                //是否启用点击选中行
            height: 300,                        //行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "ID",                     //每一行的唯一标识，一般为主键列
            showToggle:false,                    //是否显示详细视图和列表视图的切换按钮
            cardView: false,                    //是否显示详细视图
            detailView: false,                   //是否显示父子表
            columns: [{
                field: 'plan.plannumber',
                title: '计划单号',
            },{
            	field:'name',
                title: '物料名称',
                formatter:function (value, row, index) {
                	return row.materiel.name;
                }
            }, {
                title: '型号',
                formatter:function (value, row, index) {
                	return row.materiel.materialmodel;
                }
            },{
            	title:'计量单位',
            	formatter:function (value, row, index) {
                	return row.materiel.company;
                }
            },{
            	field:'plantotal',
            	title:'计划数量'
            },{
            	field:'remark1',
            	title:'到货时间',
            	editable:{
                	type:'date',
                    placement: 'left'
                }
            }],
           
           onEditableSave: function (field, row, oldValue, $el) {
           	
       		
       		$('#tb_table2').bootstrapTable("resetView");
       		
       		refresh();
       		
       		}
        })
    };

  
    return oTableInit;
};


var ButtonInit = function () {
    var oInit = new Object();
    var postdata = {};

    oInit.Init = function () {
        //初始化页面上面的按钮事件
    };

    return oInit;
};


</script>
</head>
<body>
	<div class="panel-body" style="padding-bottom: 0px;">
		<div id="toolbar" class="btn-group">
			<button id="btn_add" type="button" class="btn btn-default">
				<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>保存
			</button>
			<%--<button id="btn_edit" type="button" class="btn btn-default">
				<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改
			</button>
			<button id="btn_delete" type="button" class="btn btn-default">
				<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除
			</button>--%>
			<button id="btn_left" type="button" class="btn btn-default">
				<span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span>返回
			</button>
		</div>

		<table id="tb_departments"></table>
	</div>
	
		<div class="modal fade " id="bom"  tabindex="-1" role="dialog" aria-labelledby="myModal" data-backdrop="static" data-keyboard="false">
    	<div class="modal-dialog" role="document" style="width:60%;height: auto;">
        	<div class="modal-content">
           	 <!-- <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                        aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="exampleModalLabel">编辑</h4>
            </div> -->
			<div class="modal-body">
			
			<%
				Staff staff = (Staff)session.getAttribute("staff");
				String d = "管理员";
			 	if(staff != null){
			 		d = String.valueOf(staff.getStaffname());
		
			 	}
			%>
			<input type="hidden" id="ii" value="<%=d%>">
			
			<div id="toolbar1" class="btn-group">
				<button id="btn_confirm" type="button" class="btn btn-default">
					<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>确定
				</button>
				<button id="btn_guanbi" type="button" class="btn btn-default">
					<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>关闭
				</button>
				<button id="btn_jiSuan" type="button" class="btn btn-default">
					<span class="glyphicon glyphicon-btc" aria-hidden="true"></span>计算
				</button>
			</div>
			<table id="tb_tableSupper"></table>
            <div id="d2"><table id="tb_table2"></table></div> 
            </div>
        </div>
    </div>
</div>
	
	
</body>
</html>